Skip to content

Conversation

@artemdemo
Copy link
Contributor

@artemdemo artemdemo commented Feb 5, 2026

Note

Description

This PR adds a local development server feature (base44 dev) that enables developers to run Base44 applications locally without deploying to production. The dev server runs an Express-based API proxy that can toggle between local mode (executing local entities/functions) and remote mode (proxying to production). Functions are executed in isolated Deno processes with dynamic port allocation, and the CLI includes an interactive TUI built with Ink for real-time status display.

Related Issue

None

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Other (please describe):

Changes Made

  • Added base44 dev command with interactive TUI for toggling local/remote mode
  • Implemented Express-based dev server with CORS support and proxy middleware
  • Created Deno runtime wrapper for executing user functions in isolated processes with dynamic port allocation
  • Added FunctionManager to handle lifecycle of multiple concurrent Deno function processes
  • Implemented in-memory database using NeDB for local entity CRUD operations
  • Created comprehensive REST API routes for entities, functions, and integrations
  • Added Ink-based renderer infrastructure for building interactive CLI interfaces with React
  • Updated build process to bundle deno-runtime directory separately
  • Added 12+ new dependencies for server infrastructure (express, cors, multer, ink, react, etc.)
  • Created reusable React components (Text, Key) and hooks (useHook) for Ink rendering
  • Implemented file upload handling with multer for integration endpoints

Testing

  • I have tested these changes locally
  • I have added/updated tests as needed
  • All tests pass (npm test)

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (if applicable)
  • My changes generate no new warnings
  • I have updated AGENTS.md if I made architectural changes

Additional Notes

The dev server uses a hard-coded port (3000) for simplicity in client-side integration. OAuth login endpoints are redirected to production to preserve session cookie functionality. The Deno wrapper patches Deno.serve to inject dynamic ports for concurrent function execution. The TUI provides real-time feedback on server mode with keyboard shortcuts for toggling.


🤖 Generated by Claude | 2026-02-10 17:45 UTC

@artemdemo artemdemo changed the title Cli local dev CLI local dev Feb 5, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 5, 2026

🚀 Package Preview Available!


Install this PR's preview build with npm:

npm i @base44-preview/cli@0.0.30-pr.195.5dd9701

Prefer not to change any import paths? Install using npm alias so your code still imports base44:

npm i "base44@npm:@base44-preview/cli@0.0.30-pr.195.5dd9701"

Or add it to your package.json dependencies:

{
  "dependencies": {
    "base44": "npm:@base44-preview/cli@0.0.30-pr.195.5dd9701"
  }
}

Preview published to npm registry — try new features instantly!

@artemdemo artemdemo force-pushed the cli-local-dev branch 2 times, most recently from 029b4f7 to 75d5bc3 Compare February 9, 2026 13:46
@dor-chaouat dor-chaouat moved this from Backlog to In progress in CLI Development Feb 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

1 participant